package com.diapoclic.testservlet;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.diapoclic.entitybean.Document;
import com.diapoclic.entitybean.Folder;
import com.diapoclic.entitydao.DocumentDao;
import com.diapoclic.entitydao.FolderDao;

public class FolderTestServlet extends HttpServlet{

	


	private static final long serialVersionUID = 1L;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
		throws IOException, ServletException{
		
		response.setContentType("text/html");
		//PrintWriter out = response.getWriter();
		
// Test d'instanciation de la classe Folder
//---------------------------------------
		Folder fold1=new Folder();
		fold1.setNameFolder("monsuperAlbum");
		fold1.setNbDoc(5);
		
		request.setAttribute("folder", fold1);
		request.setAttribute("foldername", fold1.getNameFolder());

		
//Test d'instanciation de la classe FolderDao
//-----------------------------------------
		FolderDao foldDao=new FolderDao();
		//test de la fonction findbyid dans le FolderDao
		try {
			request.setAttribute("folderDao", foldDao.findById(2));
		} catch (SQLException e1) {
			System.out.println("erreur dans l'appel findById");
			e1.printStackTrace();
		}
	
		 //test de finbyids dans le FolderDao
		 
		int[] ids=new int[]{2,3};
		try {
			request.setAttribute("findbyids",foldDao.findByIds(ids));
		} catch (SQLException e) {
			System.out.println("erreur dans l'appel findByIds");
			e.printStackTrace();
		}
		

		
		//test de la fonction findbyIdUser dans le FolderDao
		try {
			request.setAttribute("foldbyuser", foldDao.findByIdUser(14));
		} catch (SQLException e1) {
			System.out.println("erreur dans l'appel findByIdUser");
			e1.printStackTrace();
		}
		
		
		
		//test de addFolder dans le FolderDao
				try {
							int res=foldDao.addFolder("foldNew",145,10);

				} catch (SQLException e) {
							System.out.println("erreur dans l'appel addUser");
							e.printStackTrace();
				}
				
		//test de updateFolder dans le FolderDao
				Folder fold2=new Folder();
				fold2.setIdFolder(7);
				fold2.setNameFolder("nommisajour");
				fold2.setNbDoc(1000);
				
				
				try {
					request.setAttribute("foldupdate", foldDao.updateFolder(fold2));

				} catch (SQLException e) {
							System.out.println("erreur dans l'appel addUser");
							e.printStackTrace();
				}
		
				
		//test de listDocumentByFolder dans le FolderDao
				
				try {
					request.setAttribute("listDocFolder", foldDao.listDocumentByFolder(145));

				} catch (SQLException e) {
							System.out.println("erreur dans l'appel addUser");
							e.printStackTrace();
				}
		
		
	//test de la fonction de d'ajout et de suppression  de documents
				
		try {
			foldDao.addDocumentInFolder(6,6);
			foldDao.removeDocument(1, 2);
			
		} catch (SQLException e) {
			System.out.println("erreur dans l'appel de l'ajout ou supprésionn de doc");
			e.printStackTrace();
		}
				
		
		request.getRequestDispatcher("foldertestjsp.jsp").forward(request, response);
		}	
		
		public void doPost(HttpServletRequest request, HttpServletResponse response)
		{
			
			
		}
	
}
